Routing devices within a network, often referred to as routers, maintain routing information that describes available routes through the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with one or more defined routing protocol, such as the Border Gateway Protocol (BGP).
The term “link” is often used to refer to the connection between two devices on a network. The link may be a physical medium, such as a copper wire, a coaxial cable, any of a host of different fiber optic lines or a wireless connection. In addition, network devices may define “virtual” or “logical” links, and map the virtual links to the physical links As networks grow in size and complexity, the traffic on any given link, including peering links, may approach a maximum bandwidth capacity for the link, thereby leading to congestion and loss.
Multi-Protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. MPLS may be viewed as a protocol that allows packet-based networks to emulate certain properties of a circuit-switched network. By utilizing MPLS, a source device can request a path through a network to a destination device, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the source device to a destination device. Each router along an LSP allocates a label and propagates the label to the closest upstream router along the path for use in forwarding MPLS packets along the path. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path.
MPLS operates at an OSI Model layer that is generally considered to lie between traditional definitions of Layer 2 (i.e., the data link layer) and Layer 3 (i.e., the network layer), and thus is often referred to as a “Layer 2.5” protocol. For example, MPLS requires use of Layer 3 routing information and other Layer 3 services with respect to traffic engineering, path selection and construction, but may also utilize Layer 2 services.